package com.doubao.device.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.doubao.common.result.Result;
import com.doubao.device.dto.DeviceSettingDTO;
import com.doubao.device.dto.request.DeviceSettingRequest;
import com.doubao.device.entity.UserDeviceSetting;

/**
 * 用户智能体设置服务接口
 */
public interface UserDeviceSettingService extends IService<UserDeviceSetting> {

    /**
     * 保存或更新智能体设置
     *
     * @param userId 用户ID
     * @param request 设置请求
     * @return 设置结果
     */
    Result<DeviceSettingDTO> saveOrUpdateSetting(Long userId, DeviceSettingRequest request);

    /**
     * 获取用户对智能体的设置
     *
     * @param userId 用户ID
     * @param deviceId 智能体ID
     * @return 智能体设置
     */
    Result<DeviceSettingDTO> getUserDeviceSetting(Long userId, Long deviceId);

    /**
     * 删除设置
     *
     * @param userId 用户ID
     * @param deviceId 智能体ID
     * @return 删除结果
     */
    Result<Void> deleteSetting(Long userId, Long deviceId);

    /**
     * 获取默认设置
     *
     * @param deviceId 智能体ID
     * @return 默认设置
     */
    Result<DeviceSettingDTO> getDefaultSetting(Long deviceId);
}